package com.kehutong.house.entity;

import com.kehutong.common.entity.DataEntity;
import org.coraframework.json.annotation.JSONField;
import org.coraframework.orm.annotation.Column;
import org.coraframework.orm.annotation.Table;
import org.coraframework.orm.annotation.UnSave;
import org.coraframework.orm.util.IDType;

import java.sql.Timestamp;
import java.util.List;

/**
 * TODO
 * 用户授权门禁
 * @author kht0601
 * @version 1.0
 * @date 2021/7/5 11:10
 */
@Table(value="t_access_control_auth",idType= IDType.UUID,multi=true)
public class AccessControlAuth  extends DataEntity {


    private static final long serialVersionUID = -5276054988359728030L;

    public AccessControlAuth(String id) {
        super(id);
    }
    @Column(comment="居民id")
    private String residentId;  //住户id

    @Column(comment="住户姓名")
    private String residentName; //住户姓名

    @Column(comment="设备id")
    private String deviceId; //设备id

    @Column(comment="门禁类型ids")
    private List<String> accessControlTypeIds; //门禁类型ids

    @Column(comment="授权状态")
    private String authStatus;  //1,生效中 、2已失效 、3已回收

    @Column(comment="门禁卡号")
    private String cardSeq;

    @Column(comment="虚拟卡号")
    private String virtualCard;

    @JSONField(serialize=false)
    @Column(comment="逻辑删除")
    private boolean deleted;


    @Column(comment="开通地址")
    private List<String> houseIds;

    @Column(comment="到期时间")
    private Timestamp dueTime;

    @UnSave
    private List<String>residentIds;

    @UnSave
    private String opType;  //操作类型

    @UnSave
    private String houseName;  //开通地址

    @UnSave
    private String accessControlTypeDescs; //门禁类型

    @UnSave
    private String authStatusName;  //状态名称

    @UnSave
    private String dueTimeStr;   //到期时间

    public String getResidentId() {
        return residentId;
    }


    public void setResidentId(String residentId) {
        this.residentId = residentId;
    }

    public String getDeviceId() {
        return deviceId;
    }

    public void setDeviceId(String deviceId) {
        this.deviceId = deviceId;
    }

    public boolean isDeleted() {
        return deleted;
    }

    public void setDeleted(boolean deleted) {
        this.deleted = deleted;
    }

    public List<String> getAccessControlTypeIds() {
        return accessControlTypeIds;
    }

    public void setAccessControlTypeIds(List<String> accessControlTypeIds) {
        this.accessControlTypeIds = accessControlTypeIds;
    }

    public List<String> getResidentIds() {
        return residentIds;
    }

    public void setResidentIds(List<String> residentIds) {
        this.residentIds = residentIds;
    }


    public List<String> getHouseIds() {
        return houseIds;
    }

    public void setHouseIds(List<String> houseIds) {
        this.houseIds = houseIds;
    }

    public String getHouseName() {
        return houseName;
    }

    public void setHouseName(String houseName) {
        this.houseName = houseName;
    }

    public String getAuthStatus() {
        return authStatus;
    }

    public void setAuthStatus(String authStatus) {
        this.authStatus = authStatus;
    }



    public String getAccessControlTypeDescs() {
        return accessControlTypeDescs;
    }

    public void setAccessControlTypeDescs(String accessControlTypeDescs) {
        this.accessControlTypeDescs = accessControlTypeDescs;
    }

    public String getResidentName() {
        return residentName;
    }

    public void setResidentName(String residentName) {
        this.residentName = residentName;
    }

    public String getAuthStatusName() {
        return authStatusName;
    }

    public void setAuthStatusName(String authStatusName) {
        this.authStatusName = authStatusName;
    }

    public String getCardSeq() {
        return cardSeq;
    }

    public void setCardSeq(String cardSeq) {
        this.cardSeq = cardSeq;
    }

    public Timestamp getDueTime() {
        return dueTime;
    }


    public void setDueTime(Timestamp dueTime) {
        this.dueTime = dueTime;
    }

    public String getDueTimeStr() {
        return dueTimeStr;
    }

    public void setDueTimeStr(String dueTimeStr) {
        this.dueTimeStr = dueTimeStr;
    }


    public String getVirtualCard() {
        return virtualCard;
    }

    public void setVirtualCard(String virtualCard) {
        this.virtualCard = virtualCard;
    }

    public String getOpType() {
        return opType;
    }

    public void setOpType(String opType) {
        this.opType = opType;
    }

}
